package TCP;

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

/**
 * 客户端类，用于与服务器建立连接并发送数据。
 */
public class Day08_Client {

    /**
     * 程序的主入口函数。
     * @param args 命令行参数（未使用）
     */
    public static void main(String[] args) {

        // 尝试与服务器建立连接
        try {
            // 创建Socket对象，连接到指定的服务器地址和端口
            Socket socket =
                    new Socket("192.168.1.109", 8888);
            System.out.println
                    ("我是客户端，已经连上服务器！");

            // 使用Scanner从控制台读取输入
            Scanner scanner =
                    new Scanner(System.in);

            // 获取Socket的输出流，用于向服务器发送数据
            OutputStream outputStream  =
                    socket.getOutputStream();
            DataOutputStream dataOutputStream =
                    new DataOutputStream(outputStream);
            PrintWriter printWriter =
                    new PrintWriter(dataOutputStream, true);

            // 循环读取控制台输入，并将输入发送给服务器
            while (true) {
                System.out.print("请输入弹幕：");
                String info = scanner.nextLine().
                        toString();
                printWriter.println(info);
            }

        } catch (UnknownHostException e) {
            // 处理无法解析服务器主机名的异常
            e.printStackTrace();
        } catch (IOException e) {
            // 处理IO异常
            e.printStackTrace();
        }


    }

}

